<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>function</title>
		<style>
			td {
				border: 2px solid black;
			}

			table {
				border-collapse: collapse;
			}
			
		</style>
	</head>
	<body>
		
	</body>
</html>
<script>
	// 函数: 具有特定功能的代码块
	// 函数分为定义和调用两部分

	// 函数根据有没有参数和有没有返回值可以分为四种
	// 无参无返回值的函数
	// 定义一个函数, 函数定义的时候, 函数内部的代码不会执行
	function mulSheet() {
		document.write("<table>");
		for (var j = 1; j <= 9; j++) {
			document.write("<tr>");
			for (var i = 1; i <= j; i++) {
				document.write("<td>");
				document.write(i + " * " + j + " = " + i * j);
				document.write("</td>");
			}
			document.write("</tr>");
		}
		document.write("</table>");
	}

	// 函数的调用 函数名();
	var r = mulSheet();
	// mulSheet();
	// mulSheet();
	console.log(r);


	// 无参有返回值的函数
	function returnANum() {
		// return的作用: 立即结束函数, 并把值返回
		console.log("歪哥不出差了, 好失望!");
		return 888;
		// return下面的语句不会再执行了
		console.log("快点换老师吧, 受不了了!");
	}

	r = returnANum();
	console.log(r);

	// 有参无返回值
	// 定义函数时的参数可以有多个, 定义函数时的参数是形式参数(形参)
	function helloBoy(name) {
		console.log(name + "你真帅!");
	}
	// 调用函数时括号中填入的参数称为实际参数(实参), 调用函数时, 形参会拷贝实参的值
	r = helloBoy("歪哥");
	console.log(r);


	// 有参有返回值
	function sum(n1, n2) {
		return n1 + n2;
	}
	r = sum(88, 99);
	console.log(r);






	






</script>